类的修饰符 关键字

5/28/2024 ts

# 1. 类的修饰符 关键字

  • ES6 新增

public: 公共的,子类继承父类之后,拥有父类所有的公共属性及方法

static:静态的,定义类的 静态方法,只能类去调用

readonly :只读的 ,属性加上这个修饰符,永远不可修改

  • TS新增

private :私有的, 私有属性和方法,只能在当前类中进行使用 【子类/实例对象都拿不到父类的私有属性/方法】

protected (保护) 只能在子类中访问该属性和方法

class DQ{
    constructor(public power:string, public greade:number,private doing:string){
    }
    private open():string{
        return '启动...'
    }
    public close():string{
        return '关闭...'
    }
}
class Bulb  extends DQ{
    public lightNum:number;
    constructor( power:string, greade:number, doing:string,lightNum:number){
        super(power,greade,doing)
        this.lightNum = lightNum
    }
    //断电
    public end():string{
        return '断电了....'
    }
}

let b1 = new Bulb('电能',3,'照亮',98)
console.log(b1);
console.log(  b1.doing );  //ts报错 父类私有属性不能被子类访问
console.log( b1.open() );   //ts报错 父类私有属性  不能被子类访问
let dq1 = new DQ('充电',1,'看');

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28